using System;
using System.Collections.Generic;
using System.Text;
using System.Xml.Serialization;

namespace XMIAddin.Xmi
{
    [XmlInclude(typeof(UmlModel)), 
     XmlInclude(typeof(UmlPackage))]
    public abstract class UmlModelElement
    {
        [XmlAttribute("xmi.id")]
        public Guid Id = Guid.NewGuid();

        [XmlAttribute("isSpecification")]
        public bool IsSpecification = false;

        [XmlAttribute("name")]
        public string Name;
    }

    public abstract class UmlStandardModelElement : UmlModelElement
    {
        [XmlAttribute("isRoot")]
        public bool IsRoot = false;

        [XmlAttribute("isLeaf")]
        public bool IsLeaf = false;

        [XmlAttribute("isAbstract")]
        public bool IsAbstract = false;

        [XmlAttribute("isActive")]
        public bool IsActive = false;   
    }
}
